A data center consists of networked computer resources (e.g., servers, discs, virtual machines, etc.), sometimes referred to as a cloud, that are leveraged to deploy hosted applications. Doing so, a distributed application can achieve a level of availability that is higher than the availability of the underlying hardware. That is, sometimes the underlying hardware might enter a faulty state (e.g., investigative or repair) at a time during which the application is assigned to and is utilizing the resources. As such, it is helpful to have measures in place to reallocate the application from the faulty resource to a non-faulty resource, thereby allowing the application to maintain availability. Moreover, it is helpful to reallocate the application in a manner that allows the application to remain available, even during the transfer.